package com.heu.blood.bloodtest.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * 血液检验表
 * 
 * @author lrz
 * @email lrz@heu.com
 * @date 2023-08-28 17:09:06
 */
@Data
@TableName("blood_test")
public class BloodTestEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 自增id
	 */
	@TableId(value = "id", type = IdType.AUTO)
	private Integer id;
	/**
	 * 创建时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	@TableField(value = "gmt_create", fill = FieldFill.INSERT) // 创建注解
	private Date gmtCreate;

	/**
	 * 修改时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	@TableField(value = "gmt_modified", fill = FieldFill.INSERT_UPDATE) // 更新注解
	private Date gmtModified;
	/**
	 * 血液检测表id(通过前缀来判断是针对病人还是库存血液的检验)
	 */
	@TableField(value = "blood_test_id")
	private String bloodTestId;
	/**
	 * 血液样本表id(通过前缀来判断是针对病人还是库存血液的检验)
	 */
	@TableField(value = "blood_sample_id")
	private String bloodSampleId;
	/**
	 * 申请项目汇总
	 */
	@TableField(value = "application_projects")
	private String applicationProjects;
	/**
	 * 检验金额
	 */
	@TableField(value = "price")
	private Double price;
	/**
	 * 检测人
	 */
	@TableField(value = "inspector")
	private String inspector;
	/**
	 * 检测结果
	 */
	@TableField(value = "project_result")
	private String projectResult;
	/**
	 * 检测次数
	 */
	@TableField(value = "count")
	private String count;
	/**
	 * 检测时间
	 */
	@TableField(value = "inspect_time")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	private Date inspectTime;
	/**
	 * 检验意见
	 */
	@TableField(value = "inspect_advice")
	private String inspectAdvice;
	/**
	 * 检验状态
	 */
	@TableField(value = "inspect_status")
	private String inspectStatus;
	/**
	 * 1代表展示，0代表不展示
	 */
	@TableField(value = "if_show", fill = FieldFill.INSERT) // 创建注解
	private Integer ifShow;
	/**
	 * 逻辑删除字段(1代表已删除，0代表未删除)
	 */
	@TableLogic(value = "0", delval = "1")
	@TableField(value = "is_deleted", fill = FieldFill.INSERT) // 创建注解
	private Integer isDeleted;

}
